package com.pai4j.domain.vo.request.interaction;

import lombok.Data;

import java.util.List;

/**
 * 系统消息发送请求VO
 * 
 * @author PAI4J Team
 */
@Data
public class SystemMessageSendRequestVO {
    
    /**
     * 消息标题
     */
    private String title;
    
    /**
     * 消息内容
     */
    private String content;
    
    /**
     * 消息图片（可选）
     */
    private String image;
    
    /**
     * 跳转链接（可选）
     */
    private String jumpUrl;
    
    /**
     * 系统消息类别（可选）
     * 如：ANNOUNCEMENT(公告)、ACTIVITY(活动)、MAINTENANCE(维护)、SECURITY(安全)
     */
    private String category;
    
    /**
     * 接收者类型
     * ALL: 全部用户
     * SPECIFIC: 指定用户列表
     */
    private ReceiverType receiverType;
    
    /**
     * 接收者账号列表（当receiverType为SPECIFIC时必填）
     */
    private List<String> receivers;
    
    /**
     * 扩展数据（JSON格式）
     */
    private String extData;
    
    /**
     * 接收者类型枚举
     */
    public enum ReceiverType {
        /**
         * 全部用户
         */
        ALL,
        
        /**
         * 指定用户列表
         */
        SPECIFIC
    }
}
